﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using Demo.Helper;
using Demo.Page;
using SqlSugar;

namespace Demo
{
    internal static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new LoginForm());
            if (FormHelper.CloseType)
            {
                Application.Run(new Home());
            }

            // ORM生成实体类到指定文件
            //#region
            //Console.WriteLine("开始测试数据库通讯...");

            //// 1. 设置连接字符串（替换成你自己的）
            //string connectionString =
            //    "Data Source=LAPTOP-8STSPRE8\\SQLEXPRESS;Initial Catalog=MetroFrameworkDemo;Integrated Security=True";

            //// 2. 创建 SqlSugar 客户端
            //var db = new SqlSugarClient(
            //    new ConnectionConfig()
            //    {
            //        ConnectionString = connectionString,
            //        DbType = SqlSugar.DbType.SqlServer, // ✅ 改成 SqlServer
            //        IsAutoCloseConnection = true,
            //        InitKeyType = InitKeyType.Attribute, // 用特性映射表结构
            //    }
            //);

            //// 3. 测试数据库连接
            //try
            //{
            //    db.Ado.Open();
            //    Console.WriteLine("✅ 数据库通讯正常，可以进行后续操作！");
            //}
            //catch (Exception ex)
            //{
            //    Console.WriteLine("❌ 数据库通讯失败：" + ex.Message);
            //    return;
            //}

            //// 4. 生成数据库表对应的实体类
            //// 如果不传参数，DbFirst 会对当前数据库下的所有表生成类
            //string[] tables = { "订单信息表", "购物车信息表", "商品信息表", "商品组信息表" }; // 只生成这张表，可以改成多个 ["Table1", "Table2"]

            //db.DbFirst.Where(tables) // 限定生成哪些表（不写就是全部）
            //    .IsCreateAttribute() // 生成 [SugarTable] 这类特性
            //    .CreateClassFile(@"D:\Entities"); // 保存到实体类目录

            //Console.WriteLine("✅ 实体类生成完成！文件保存在 D:\\Entities");
            //#endregion eqrqwerq
        }
    }
}
